/**
 * 
 */
package com.swim.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.swim.sys.entity.SysUserRole;

/**
 * 用户与角色关联表DAO接口
 * @author 刘军武
 * @version 2019-12-11
 */
@MyBatisDao
public interface SysUserRoleDao extends CrudDao<SysUserRole> {
	
	/**
	 * 根据角色code查询该角色下的所有用户名
	 * @return
	 */
	List<String> findUserNameByRoleCode(String roleCode);
	
	/**
	 * 根据UserCode查询该用户的所有角色RoleCode
	 * @return
	 */
	List<String> findRoleCodeByUserCode(String userCode);
	
	/**
	  * 插入
	  * @param SysUserRole
	  * @return 
	  */
	void insertUserRole(@Param("userRole") SysUserRole userRole);
	
	/**
	 * 修改
	 * @param SysUserRole
	 * @return 
	 */
	void updateUserRole(@Param("userRole") SysUserRole userRole);
	
	/**
	 * 删除
	 * @param deleteUserRole
	 * @return 
	 */
	void deleteUserRole(@Param("userRole") SysUserRole userRole);
	
	/**
	 * 根据登录的user_code和上级的role_code查询发送审核通知的用户列表
	 * @param SysUserRole
	 * @return List<SysUserRole>
	 */
	List<SysUserRole> findSendMsgUserCodeList(@Param("userRole") SysUserRole userRole);
}